Hello everyone, even though it is not Friday anymore here we come with yet another regular update. We didn't want to make a blogpost on Friday the 13th because for sure something would go wrong. And also I am on a skiing trip in Austria and I was too tired yesterday to do anything, after all the day going downhills. So the 0.8.0 has been succesfully released last Friday. We finished at the same time when first guests for the party started coming. We just crossed our fingers, pressed the release button (maybe we should have a real, big, red "release" button) and went off to drink beer and talk to people. The cake (see the picture in the last post) was delicious:) Back to the release - there were small issues, but nothing really major ("Pump cannot be built" kind of thing). We have already fixed most of the reported issues for the 0.8.1, which will happen in the beginning of the next week. We haven't worked on anything major aside from the issues. We took the time to relax after the intensive release sprint (says the guy who has been skiing all day long:). Kovarex was playing some games (including classics like Dune 2000) looking for inspiration. There was also a long conversation about how the new industry with oil and chemicals should work. Interesting things ahead. Originally we wanted to start the Steam Greenlight campaign before the Christmas. Now it is clear that this will not happen. The reason is that the music for the new trailer is not yet ready. The cooperation with the guy we hired for the music hasn't brought the expected result. So we are back where we started. Recently, we found a composer in Prague, who looks like a very good fit for the job, but he will not have time until after Christmas. At least Albert will have more time to work on doodads for the game (and the trailer) - things like trees, rocks, etc. Albert also took the opportunity to work on something completely different for a while and he came up with a proposal for the new Factorio logo. The old (current) logo has been done by me and then face-lifted by another artist. But still it looks painfully amateurish. The new logo doesn't have that problem:) Together with the logo Albert worked on the new forum style, this will be deployed sometimes next week. So here is the thing. We actually have two proposals for the logo. And we would appreciate some help and opinions for deciding which one to use. You can see the proposals below. They are shown on the potential loading screen of the game. We do have our preference but will not say which one that is to avoid influencing the outcome. They both work as links for larger versions. There are polls for you to vote and comment in the post on our forums, so go there and let us know what you think.
Hi there, after a hectical sprint, the 0.8.0 release is done. We have continuously reported on the progress, so the content of the release won't be a big surprise. Still, you can checkout the release notes on our forums. And if you are brave enough you can even try it out. The thing is that considering the circumstances the release will be "very" experimental. We have fixed all the major errors and crashes we came acrros. But still there were plenty of changes under the hood in non-trivial areas (namely the logistic system) so there are a lot of potential places for error. Just a reminder, you need to set "Enable experimental updates" in the "Other settings" for the builtin updater to update your version to 0.8.0. After a major release we usually take a day or two off. This time it will be no exception. Moreover it was Kovarex's birthday yesterday, so today in the evening we will have a party in our place. After the headaches are gone, the place is clean again and we recharge our batteries, we will be after the (supposedly found) bugs in 0.8 and planning the 0.9. It is kind of a never ending story:). The last bigger feature we worked on for the 0.8 was the Roboport. That is the "home" for the logistic and construction robots, where they can charge, station and which navigates them on the map. This neatly solves some issues there were with the logistic system before: Balancing - Roboport requires quite some energy to charge the robots. So the Logistic Robots will be less overpowered than they have been. Stationing - In the past robots without orders kept hanging at the place where they stopped. This was annoying and even caused robots to become a target for enemies after they delivered stuff to the player's inventory. Now every robot that has nothing to do goes to the roboport to station there. Area Separation - Before, all the logistic robots could fly all over the map. From the base to the expansion if necessary. Following the player fighting the enemy bases, etc. This was also less than desirable. Now the connections between the roboports define separate logistic networks which can't be mixed. This way, small independent systems can be setup in the expansions and one large network in the main base for instance. And on top of all that the roboports look really cool:D Albert happily took the break from the terrain and made a great machine in a short amount of time. You can checkout the "making of" animation below. Some of the instructional pictures in the demo were getting really outdated. So we replaced them with setups with the current graphics. Below is a side-by-side comparison for the instruction on how to use inserters from some months ago and from now. The last picture is the courtesy to Kovarex's grandmother, who made this wonderful cake for his birthday. The tradition is the commenting thread on our forum.
Hello, since we started with the Friday Facts series, it seems to me that the Fridays have been coming more and more often. So here we are again with the handful of fresh news from the Factorio back stage. There is a good news and an even better news regarding the 0.8 release. The good news is that we have a definitive release date now. The date has been set to the Friday, the 6th of December. The even better news is that it will be Kovarexs' birthday the day before that, so there will be two reasons to celebrate on that Friday night:). On Tuesday the first ever "FactorioCon" took place. It was not really a conference, more like a spontaneous meeting. Here is what happened. In the reaction to the previous Friday post we got a message from one of our players on the forums, that he would be coming to Prague for the week. So we agreed to grab a beer on Tuesday night. In the beginning it was supposed to be just me and Kovarex but in the end all the Factorio team was present and even two more of our fans from Prague came (my brother and a friend of his:)). So we were 7 people. We took a beer and snacks in a pub by the river and had a good chat about the game (and life - the usual topic of pub chats). Most of the map editor functionality, mentioned in the last post is done. This occupied the majority of my time over the past week. Now it is actually a pleasure to work with . Maybe it is a subjective feeling, because I had to do some maps with the old editor:) Anyway the mechanism of layers and tools is in place and easy to extend in the future. So we will release the new editor into the wild, gather the feedback from people on the forum and then incorporate it back in if necessary. Includes. They are killing us. Factorio is written in C++ which has an old-school-textually-include-stuff approach to referencing objects in other files. This means that the compile time goes up fast with the growing codebase. Compile time is very unproductive kind of time. And it has been going up steadily. At the moment the Factorio core code base has almost 130k lines of code and it takes a fair amount of time to compile. My 2011 MacBookPro 13" takes already around 8 minutes to build the whole project from scratch. Sometime I take the time to wash the dishes or do a bit of exercise. But most of the time I just kill those 8 minutes by surfing the web or staring at the rolling compilation log. To battle this we have spent quite some time pruning the includes in the past days (it has not been the first time). Kuba was playing with some existing clang include analyzers while Kovarex wrote his own small tool to gather include statistics and try the trial and error include removal (remove - try compile - iterate). This is what the game development includes (pun intended) as well. Albert has defeated the deamons of the water and now he started integrating the new terrains together. On the other hand we are still struggling with the algorithm for correcting the terrain border transitions. The fail attempt number 5 (I think) is called "the weeping terrain": To keep the tradition rolling, the thread for comments is available on our forum.
Hello everyone, The preparation for the next release (the 0.8) are in the full speed. Original expected release date was today, but we are not ready yet. It will take at least two to three more weeks. Especially the graphical work on the new terrain has proved to be more trickier than we expected. Last week we had some good sales driven mostly by the people from the US. That had a very positive effect both on our credit balance but more importantly on our moral strength. We have been working on Factorio for a long time with a lot of uncertainty regarding the outcome. We keep getting moral boost from people on our forums but actually selling the game feels great. The absolute numbers were not staggering (the peak was at around 50 sold copies per day) but for us they were still high above average (usually it is like 10 copies per day). So the mood is better now, we even went out for some social activities this week. Back to the programming. The repair robots mentioned in the last post are done. Michal is fast:) He spent past couple of days with smaller tasks we had on the list for a while. Now he is fiddling with "ghost" entities (transparent outlines of entities without bounding box). These will be used for reconstructing entities that has been completely destroyed and in the future also for the blueprints. I have spent most of the time from the past week improving the map editor. We have quite a few mods for Factorio, but very little maps / scenarios. The people on the forums asked for the better editor multiple times, so we listened to them. Also during the work on the trailer I confirmed just how big pain it is to use the map editor. Now on to the features. I have a list full of things that need to be done, but couple of most important ones are: Terrain painting - before only one tile at a time could have been changed. Now there is a brush with different sizes that can change the surface pretty fast. Laying out the resource fields - The biggest pain in the old editor. Resources had to be laid out one by one and then manually increased by holding a specified key. Now the brush or spray can be used to do that in matter of seconds. Creating forests - Not so common, but still time consuming. Creating big forests one tree at a time will be a history by using a brush to draw many trees at once. Copying entity strutures - Moving a part of the factory 10 tiles to the right is not possible now. The plan is to allow some sort of selection and copy-pasting that selection to other place on the map. Inventory manipulation - Chests can be filled only one stack at a time now. I still don't know how, but this will be improved. From the above list the first two tasks are finished already. The rest is work in progress but will be ready for 0.8:). The map editor early preview is below. The tabs at the top left represent different layers(terrain, tiles, entities, items). Below is the tool list. The active tool is the spray which I used to spray the coal field. The usual thread for comments is on our forum.
Hi guys, we are back here for another Friday update. We marched through the "bugfix hell" to release the 0.7.5 as a stable version in the beginning of the weekend. This allowed us to clear our minds and completely focus on the next release in progress - the 0.8. The work on the new trailer is going well. The first prototype started a good discussion on the forum. We took a lot of points from that discussion and came up with an updated trailer. It is a very tiring job - keep iterating over the same 2 minutes over and over again, fixing small things, changing the timings, playing with the composition, etc. However the more work we invest in this, the more confident we get about it. Maybe it is a self-dellusion, or it is really getting better. We really want to get it right. One thing is for sure, the result will be on a completely different level than the old trailer. Since the majority of work is done we also got in touch with a French artist from Dijon, who will make the music for the trailer. So far, the reference music for us has been the lively jazz Twilight in Turkey by Raymond Scott. Today we had a good discussion about one of the upcoming features in the 0.8. Repairs and the repairing robots. For a long time there has been no concept of repair in the game. "Need to repair an almost destroyed turret? Sure, just mine it and build it again. Voila here it is - brand new, shiny and shooting." This will change. We came up with the following: There will be a new object - the repair kit. This will be a universal tool to repair anything. The repair kit will be produced from some low end materials (like iron plate + electronic circuit). The repair kit will be slowly consumed when used. The player can use the repair kit to repair anything by hand. This is nice, but it is not really a Factorio style. On top of that there will be repairing robots. These can use repair kits to repair anything that is broken. The solution to dispatching the repairing robots will be probably the same as the (yet not implemented) solution to dispatching the logistic robots. There will be a robot tower which will refuel the robots and provide a radio distance for them in which they can operate. By creating multiple of these towers the whole repair system can be automated. The first version will probably be without the robot tower to try the concept out. Oh and of course in the future the repair robots will be able to recreate destroyed objects:) One of the biggest changes in the 0.8 will be the new terrain. Maybe now it is a good time to briefly describe how it will be different. There are three main points: Everything from 3D - All the new terrains are based on Blender 3D models. This makes the tiling and creating multiple variations much easier because Albert can use the full power of Blender to change the surface shapes, add tileable noise or run the whole thing through a predefined transformation. He is definitely much happier doing this than fiddling the pixels (that is how the current terrain has been done). More variations - At the moment every terrain has only 4 variations of 1x1 tile. This makes an obvious "grid-like" look. The new terrain will challenge this flaw by having multiple tile sizes. At the moment these will be 1x1, 2x2 and 4x4 (the engine can also handle 8x8). The numbers of variations differ based on the terrain type, but on average it is like 16 for every tile size. This means that one kind of the terrain will consist of roughly 50 tiles. Different variations can be assigned different probabilities for the map generation. This will result in more natural look of the terrain. Biomes - We plan to introduce a concept of a biom. This is an area of the map where only certain terrains and certain doo-dads can appear (for instance green trees will not appear in the desert). It is not yet sure how much of this will be introduced in 0.8, but it is the direction we will take for the future. Of course making the terrain look better means a lot (a LOT) of work. Albert needs to come up with a good model and textures. Make sure they go along with other terrains and existing structures / machines. Then create enough variations, test the whole thing in the game itself and often iterate the whole process. At the moment he is working on the last terrain for this update - the water. This is especially tricky because of the lighting. He made a nice preview from his experiments. I think that the winner candidate is the blue looking one in the middle. You can find a thread for comments regarding this blog post a post on our forum.
Hello, this week the Friday Facts are coming a little bit earlier. The reason is that in the evening I will be lost somewhere in the middle of Brno (second biggest city in the Czech Republic). I will participate in a popular annual deciphering game that is taking a place there. The 0.7.5 with another batch of bugfixes went out this Tuesday. Since then there has been no reports regarding major issues or crashes. Couple of teeny-tiny bugs were reported however that is not enough for us to make a new release now. So the 0.7.5 will become a stable version. Finally:) I have spent most of the time during the past week working on the trailer. The first version has been done already. There is a discussion thread on our forum (with a link to the unlisted video on youtube) where people can give us feedback about it. This is by far not finished. But we needed to get it out in order to start talking to the music & sound guy and give him some baseline to work with. Yesterday we had a long chat with Albert about the trailer and we agreed that the first scene (standing in the middle of the ruins) should be changed. Now it feels too out of the context from the rest. Apart from that we are quite happy with the general flow. Of course there are plenty of details that need to be tweaked so there is still a long way to go. On the other hand having all the trailer in the script makes things a hell lot easier for us. Changing things like the zoom behavior, camera movement or speed is just a breeze. Same goes for extending / shortening the scenes or adding a new scene all together. Another issue is the final video quality. There is a lot of movement going on in the trailer and currently after youtube compression, often the video is just blurry. We have used the 720p for now but that proved not to be enough. Oh and regarding the music. Just for fun we tried to run the Raymond Scott's Twilight in Turkey together with the trailer. It turned out to work surprisingly well, so one option is that the music would go in this kind of direction. Apart from preparing the 0.7.5 Michal spent most of the time on the new scenarios for the main campaign. It starts to slowly shape. At the moment there are 5 levels that introduce basic things like assembling machines, research, trains, etc. to the player in the course of playing. Often the player is not starting from the scratch but he can use already existing pieces of the factory. Writing the scenarios (and the trailer) is also a good opportunity for us to review, document and extend the Lua API. Kuba and Albert keep working together on the terrain. There are couple of variations of the dirt by now and Albert is now spending his evenings with the grassy terrain. Kuba made couple of Blender scripts to ease the manual terrain work. This way Albert can take advantage of generated tileable noise or terrain transitions. Also yesterday Kuba showed me a great picture he generated that I can't resist to share with you. In case that you always thought that there is a lot of recipes in the game and that the whole thing is too complex, then worry no more. Here is an ultimate Factorio recipe cheatsheet for you: As usual there is a post on our forum where you can discuss this update.
Hi there, fifth anniversary for the Friday Facts is here. Nothing big, but we got into the mood of doing these updates regularly and so far it works fine. The release clock has stopped on 0.7.4. This looks pretty stable though there were still some minor annoyances and rare crashes. So the show goes on and there will be a 0.7.5. That will make the 0.7 a release with most bugfix subreleases so far. Actually Kovarex took it as sort of a challenge to fix all the bugs that are reported on our forum (which works as a kind of bug tracker for us). Now there are last four. Actually this led us to a rather interesting conversation about the bugs and our approach towards them. We have always took the stance of fixing bugs first, adding features later. This is contrary to some very popular and successful indie games out there. So we naturally wondered whether it makes sense for us to keep doing this or whether we should try to move forward faster and build more features (there is plenty on the list). The conclusion was that it is important to find a balance. Crashes and bugs which prevent someone from playing or are annoying are not tolerable and must be fixed immediately. However we will be spending less time on tiny little bugs. Things like "if you are in the god mode and select a gun turret and pause the game and open the menu, then the description of the gun turret is broken". Obviously a made up example to demonstrate the point:). We are really grateful that people are reporting even the smallest bugs, it's just that we think we need to draw a line and don't be afraid to say "this is tolerable now and we will fix it later". This will allow us to spend more time with the new features and content. Which is what we really need at the moment. On the side note the work on the trailer is in the full speed. As mentioned before we have decided to go for a not so traditional approach without scene cuts. So the trailer will basically present an existing factory by sliding the camera from one place to another. The factory is done. Actually I took the factory from one of my freeplay games and adjusted it to fit the trailer's needs. Now we work on the script logic behind it. The script controls everything. Movement around the factory, speed, zoom, dynamic adjustments to particular machines, timing of actions, etc. This is also positive because it led us to extending the Lua API - for instance we have added routines to control the trains. These changes will be available in the 0.8 together with the trailer map and the script. There is still a lot of work ahead - finishing the script, balancing the speed and flow, polishing. After all this is done we will just press a button and capture the trailer from the screen. Lastly we will need a background music and sound. We haven't arranged anything yet, but Albert has some good contacts among sound professionals who could do this for us. There probably will be some spoiler discussions regarding the trailer on our forums soon. For the impatient there is a screen shot of a possible first trailer scene below (still needs some polishing - namely new terrain and additional decorative objects). There is a link on our forum to this blog post so feel free to share your comments. To finish with the fun fact there is now over 7000 commits in the Factorio project repository. And counting.
Hello, another Friday means another Friday update. The main theme of the week has been again the bug fixing. The result of our efforts is the 0.7.2 release which came out yesterday. There were more than 25 bugs fixed in the release. As the experience have shown, releases often take 3-4 iterations to stabilize. Therefore we still sort of expect one more release to stabilize the 0.7:) Along with the coding, the works continue on the new terrain. Albert has finished with the dry dirt and he is now experimenting with patterns for other kinds of terrains like grass or snow. We are aiming for at least two "biomes" combining similar kinds of terrains. The terrain is quite a different task from modelling the machines or the enemies. Therefore there is a lot of researching and experiments involved. Kuba has provided a big help to Albert by generating various noises and tileable patterns for him to work with. There is some good news regarding our team as well. Albert has been staying with us in our apartment (which became an improvized office) for the past month and the half. His presence here in Prague has been really beneficial to our progress on the visuals of the game. Things are moving much faster than before. So the news is that this week Albert rented an apartment for himself and his girlfriend here in Prague. It is situated in the middle of the city close to the historical center. It looks really nice and cosy. They might stay for the whole winter:) After the 0.7 release we got some complaints that the game is using too much video memory. Some players couldn't even load the game for this reason. The 0.7.2 fixes this by providing the low resolution mode (in the graphics settings, needs a restart). In this mode, some of the sprites are scaled down before loading into the atlas. The resulting quality is lower, but the game will fit within 256MB video memory. You can compare how the game looks in low resolution (left) and normal mode below. The difference is naturally most visible when you zoom in. Enabling the multisampling will improve the quality and make the low resolution mode look real close to the regular one. Last but not least, we have started with the new trailer. So far we put together some basic ideas for the scenes and started preparing the map where the trailer will be created. Actually the trailer will be a regular Factorio scenario so after it is finished anyone can load it and "replay" it directly in the game (except for the music though). As usual you can post comments regarding this post at our forum.
Hello everyone, this is the third Factorio weekly update. It is scary how fast the week went by. The summer is definitely gone and it has been raining hard for the past two days here in Prague. We spent the weekend by playtesting the 0.7.1. The bugfixes were mostly finished and we were after the balancing. This resulted in two freeplay games in which we both (me and kovarex) managed to build and defend the Rocket Defense in a little bit more than 11 hours. We both used different strategies. Kovarex went after the logistic robots and the beacons, while I tried to keep my factory relatively small and was really focused on researching the rocket defense asap. With the balancing changes we made, the game seems to be well playable again. No more crazy medium biter attacks after 10 minutes. In my game I saw a first medium biter after cca 4 hours and the first big biter after about 9 hours of playing. That seems allright for the regular settings. After the weekend we focused on getting the 0.7.1 out. In the end we managed to do that on Tuesday night, after a full day of work on fixing small issues coming mostly from the Lua API refactoring. The 0.7.1 was received rather well. It still has some bugs though. Especially regarding the enemy expansion. There was this funny save where you stand in the middle of your factory and in like 20 seconds out of the blue sky there appears an enemy spawner and two worms right next to you:) So yeah, there will be 0.7.2. We will put in only bug fixes and will try hard to make this one the stable release for 0.7. After the hectic release we spent the next day trying to relax a bit and put plans together for the next iteration. More or less the plan is now clear. There are three priorities: New terrain - Originally we wanted to spend some time on the players' animation. But then a friend of ours came for a visit. He never saw the game before and his first remark was that the terrain is sh*t:) And he is sort of right. On top of that the terrain is omnipresent. We really want to polish the game as much as possible before the Greenlight campaign so we decided to take a shot at the new terrain and some doodads if there is time left. New main campaign - We consider the demo campaign more or less finished. It still needs some UI love but the content is there. However the main campaign (New Hope) is seriously lacking and it hasn't really changed since the Indiegogo. So one of the goals for the next iteration will be to extend this campaign to 5+ meaningful levels. Having multiple levels will also allow us to better explain some concepts (like trains, logistic robots or signals) to the player. New trailer - We cannot start a Greenlight campaign with the current trailer. It is painfully out of date. We have been discussing a lot of ideas and studying existing successful indie game trailers to come up with something entertaining and competitive. The details are not finished yet, but the main theme would be presenting a factory without "scene cuts". All the transitions between the consecutive scenes would be fluent and performed by elements in the factory. For instance - the camera follows the train which takes it to the next part of the factory. Albert has been onto the terrain for couple of days now. We were playing with an idea to use Wang tiles but in the end decided to go with different size variations of tiles for the same terrain. This should break the grid-like feel of the current terrain. Albert developed his own, simple yet clever technique for creating tile variations rather fast. Basically he creates the tileable edge of a single tile and then just changes the inside for every variation. Keeping everything as 3D models allows him to do all sorts of tricks (like changing the height gradient really fast). Some preliminary results look promising. Here is an example of dry dirt terrain with random machines on top of it: As before the link to the post is in the separate topic on the forum. So you can post your comments there
Hello everyone, another weekly Factorio update is here. The 0.7.0 release from the last Friday night has triggered a lot of discussions on the forum. It seems that in the end we didn't get the balancing quite right and the natives are now rather overpowered. People reported cases when they were overrun by the biters after less than half an hour of playing. Another issue would be that the biters in the enemy bases would level up too quickly and when the player arrives to conquer the base there were plenty of medium or big biters (which are quire resistant). Apart from that the release was relatively smooth. There are some minor bugs but no deal brakers. After recharging some energy during the weekend at a local wine festival:), we started working on the 0.7.1. Unlike in previous minor releases, the 0.7.1 will contain also couple of new features. Most notable of these is the addition of late game player following robots (aka "destroyers"). They are quire expensive, but they allow to conquer even large enemy bases. And they are a lot of fun to play with because of their acceleration based behavior. Apart from this and other small features the week has been spent mostly by bugfixing the issues reported by the community. This is now more or less finished and we have started with playtesting and further balancing. The 0.7.1 is expected to be released during the next week. As mentioned before afterwards we will focus some of our energy on making the new trailer and preparing for the Steam Greenlight campaign. Another thing that kept us busy for a while has been the wiki. Originally it has been spammed to a degree when any ressurection seemed hopeless. However after many tries (what do you do with a 4GB sql dump file?) Blue Cube has managed to prune the database and resurrect the wiki at its original location. For now we have restricted the access only to people who has been confirmed manually by us. So if you are interested in contributing to the wiki (which would be more than welcomed) then request an account on the wiki page . You will need a forum account for that as well. All this is to avoid further automated spamming of the wiki. Not only the wiki has been resurrected but also thanx to Kovarex it now contains up to date information on Factorio 0.7.1 scripting interface. Albert has been busy and productive as well. He has finished with the enemy spawner which we had to redo couple of times because of notable noise in the final animation. The resulting animation is imho worth it. You can see it below (animation for breathing) together with the gif capturing the process of making the spawner model. After this Albert has worked on other small issues that we have been putting off for a while. Things like: slowdown particles, underground objects indication (belts to ground, pipes to ground) and finally the remnants after destroyed objects. These are especially useful because as a player you can see what has been destroyed when your base has been attacked by the natives. And here is a fun fact for this episode. Technically it happened last week, but it so funny that it still qualifies. So the thing is that recently we looked up that there will be an indie game conference here in Prague. We were super excited and all three of us went there really enthusiastic to talk to the people from the indie game industry and maybe propagate Factorio or something. It took place in the local startup hub. We arrived and saw that a workshop was about to start soon. So we sat down and waited for a while. It was a little bit weird that nothing was happening but after a while a guy appeared who said he is coming for the workshop as well. He started explaining to us what he does and it was all about some very advanced server management stuff. We waited all the time when he will get to the indie game part but it never happened. And it turned out that the workshop is actually about some advanced server management stuff. The indie game conference happened a year ago on the same day. So we were one year late. The people at the reception had quite a good laugh. All right, back to the reality. Recently we have created a new "Updates" category on the forum where we will try to regularly post small updates. We will also create there a post for every friday facts episode where you can post comments.